using System;
using System.ServiceModel;
using System.Runtime.Serialization;
using System.Xml;
using System.Xml.Serialization;
using System.Collections.Generic;
using System.Text;

namespace Microsoft.ServiceModel.Samples.Discovery.Protocol
{
    internal class ProtocolStrings
    {
        ProtocolStrings()
        {
        }

        public const string Namespace = "http://schemas.xmlsoap.org/ws/2005/04/discovery";
        public const string WsaNamespace = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
        public const string ReplyToElement = "ReplyTo";
        
        public const string EprElement = "EndpointReference";
        public const string DefaultPrefix = "d";

        public const string HelloElement = "Hello";
        public const string ByeElement = "Bye";

        public const string ProbeElement = "Probe";
        public const string ProbeMatchElement = "ProbeMatch";
        public const string ProbeMatchesElement = "ProbeMatches";

        public const string ResolveElement = "Resolve";
        public const string ResolveMatchElement = "ResolveMatch";
        public const string ResolveMatchesElement = "ResolveMatches";

        public const string TypesElement = "Types";
        public const string ScopesElement = "Scopes";
        public const string MatchByAttribute = "MatchBy";
        public const string XAddrsElement = "XAddrs";

        public const string AppSequenceElement = "AppSequence";

        public const string HelloAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/Hello";
        public const string ByeAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/Bye";
        public const string ProbeAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe";
        public const string ResolveAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/Resolve";
        public const string ProbeMatchesAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/ProbeMatches";
        public const string ResolveMatchesAction = "http://schemas.xmlsoap.org/ws/2005/04/discovery/ResolveMatches";

        public const string ScopeMatchByPrefix = "http://schemas.xmlsoap.org/ws/2005/04/discovery/rfc2396";
        public const string ScopeMatchByExact = "http://schemas.xmlsoap.org/ws/2005/04/discovery/strcmp0";
        public const string ScopeMatchByUuid = "http://schemas.xmlsoap.org/ws/2005/04/discovery/uuid";
        public const string ScopeMatchByLdap = "http://schemas.xmlsoap.org/ws/2005/04/discovery/ldap";

        public const string DiscoveryAddress = "urn:schemas-xmlsoap-org:ws:2005:04:discovery";
        public const string IPv4MulticastAddress = "soap.udp://239.255.255.250:3702/";
        public const string UdpScheme = "soap.udp";

        public const string WSAddressingAugust2004_AnonymousUri = "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous";
        public const string WSAddressingAugust2004_NoneUri = "http://www.w3.org/2005/08/addressing/none";
    }
}
